/*
 * PhaseUtils.h
 *
 *  Created on: 20 Aug 2011
 *      Author: Allan
 */

#ifndef PHASEUTILS_H_
#define PHASEUTILS_H_

// C++ includes
#include <map>
#include <string>
#include <vector>
using namespace std;

// GeoReact forward declarations
class Phase;
class Multiphase;
class AqueousActivity;
class GaseousActivity;
class MineralActivity;

const Multiphase CreateMultiphase(const vector<string>& species);

const Phase CreateAqueousPhase(const vector<string>& species);
const Phase CreateAqueousPhase(const vector<string>& species, const AqueousActivity& activity);

const Phase CreateGaseousPhase(const vector<string>& species);
const Phase CreateGaseousPhase(const vector<string>& species, const GaseousActivity& activity);

const Phase CreateMineralPhase(const vector<string>& species);
const Phase CreateMineralPhase(const vector<string>& species, const MineralActivity& activity);

#endif /* PHASEUTILS_H_ */
